# 4 内部函数若要修改外部函数变量的值,需要使用 nonlocal 关键字


# 1 有嵌套
def func_out():
    sum = 0
    def func_inner(num2):
        # 2 有引用
        nonlocal sum
        sum = sum + num2
        print('两数之和:', sum)

    # 3 有返回
    return func_inner


if __name__ == '__main__':
    # 测试闭包 实例化闭包/执行闭包
    myf = func_out()
    myf(2)
    myf(3)

